package com.qzsoft.zhjd.asphalt.modules.asphaltmatch.entity;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.NotBlank;

/**
 * @ClassName AsphaltMatchThresholdEntity
 * @Description 级配上下限
 * @author linhuawei
 * @since 2021-09-04
 */
@Data
@EqualsAndHashCode(callSuper = false)
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ToString
@TableName("n_asphalt_match_threshold")
public class AsphaltMatchThresholdEntity {

    /**
     * 配置主键
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;

    /**
     * 机构主键
     */
    @Length(max = 36, message = "机构主键不能超过{max}个字")
    @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.NEVER)
    private String deptPkid;

    /**
     * 机构主键
     */
    @Length(max = 36, message = "机构主键不能超过{max}个字")
    @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.NEVER)
    private String deptId;

    /**
     * 级配类型
     */
    @TableField(updateStrategy = FieldStrategy.NEVER)
    private String matchType;

    /**
     * 配方名称
     */
    @NotBlank(message = "配方名称不能为空！")
    @Length(max = 36, message = "配方名称不能超过{max}个字")
    @TableField(updateStrategy = FieldStrategy.NEVER)
    private String matchName;

    /**
     * 0.075mm筛孔通过率下限
     */
    @DecimalMax(value = "100", message = "0.075mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve0d075min;

    /**
     * 0.075mm筛孔通过率上限
     */
    @DecimalMax(value = "100", message = "0.075mm筛孔通过率上限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve0d075max;

    /**
     * 0.015mm筛孔通过率下限
     */
    @DecimalMax(value = "100", message = "0.015mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve0d15min;

    /**
     * 0.015mm筛孔通过率上限
     */
    @DecimalMax(value = "100", message = "00.015mm筛孔通过率上限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve0d15max;

    /**
     * 0.3mm筛孔通过率下限
     */
    @DecimalMax(value = "100", message = "0.3mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve0d3min;

    /**
     * 0.3mm筛孔通过率上限
     */
    @DecimalMax(value = "100", message = "0.3mm筛孔通过率上限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve0d3max;

    /**
     * 0.6mm筛孔通过率下限
     */
    @DecimalMax(value = "100", message = "0.6mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve0d6min;

    /**
     * 0.6mm筛孔通过率上限
     */
    @DecimalMax(value = "100", message = "0.6mm筛孔通过率上限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve0d6max;

    /**
     * 1.18mm筛孔通过率下限
     */
    @DecimalMax(value = "100", message = "1.18mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve1d18min;

    /**
     * 1.18mm筛孔通过率上限
     */
    @DecimalMax(value = "100", message = "1.18mm筛孔通过率上限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve1d18max;

    /**
     * 2.36mm筛孔通过率下限
     */
    @DecimalMax(value = "100", message = "2.36mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve2d36min;

    /**
     * 2.36mm筛孔通过率
     */
    @DecimalMax(value = "100", message = "2.36mm筛孔通过率不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve2d36max;

    /**
     * 4.75mm筛孔通过率下限
     */
    @DecimalMax(value = "100", message = "4.75mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve4d75min;

    /**
     * 4.75mm筛孔通过率
     */
    @DecimalMax(value = "100", message = "4.75mm筛孔通过率不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve4d75max;

    /**
     * 9.5mm筛孔通过率下限
     */
    @DecimalMax(value = "100", message = "9.5mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve9d5min;

    /**
     * 9.5mm筛孔通过率
     */
    @DecimalMax(value = "100", message = "9.5mm筛孔通过率不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve9d5max;

    /**
     * 13.2mm筛孔通过率下限
     */
    @DecimalMax(value = "100", message = "13.2mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve13d2min;

    /**
     * 13.2mm筛孔通过率
     */
    @DecimalMax(value = "100", message = "13.2mm筛孔通过率不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve13d2max;

    /**
     * 16mm筛孔通过率下限
     */
    @DecimalMax(value = "100", message = "16mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve16min;

    /**
     * 16mm筛孔通过率
     */
    @DecimalMax(value = "100", message = "16mm筛孔通过率不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve16max;

    /**
     * 19mm筛孔通过率下限
     */
    @DecimalMax(value = "100", message = "19mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve19min;

    /**
     * 19mm筛孔通过率上限
     */
    @DecimalMax(value = "100", message = "19mm筛孔通过率上限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve19max;

    /**
     * 26.5mm筛孔通过率下限
     */
    @DecimalMax(value = "100", message = "26.5mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve26d5min;

    /**
     * 26.5mm筛孔通过率上限
     */
    @DecimalMax(value = "100", message = "26.5mm筛孔通过率上限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve26d5max;

    /**
     * 31.5mm筛孔通过率下限
     */
    @DecimalMax(value = "100", message = "31.5mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve31d5min;

    /**
     * 31.5mm筛孔通过率上限
     */
    @DecimalMax(value = "100", message = "31.5mm筛孔通过率上限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve31d5max;

    /**
     * 37.5mm筛孔通过率下限
     */
    @DecimalMax(value = "100", message = "37.5mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve37d5min;

    /**
     * 37.5mm筛孔通过率上限
     */
    @DecimalMax(value = "100", message = "37.5mm筛孔通过率上限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve37d5max;

    /**
     * 52mm筛孔通过率上限
     */
    @DecimalMax(value = "100", message = "52mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve52min;

    /**
     * 52mm筛孔通过率上限
     */
    @DecimalMax(value = "100", message = "52mm筛孔通过率上限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve52max;

    /**
     * 53mm筛孔通过率下限
     */
    @DecimalMax(value = "100", message = "53mm筛孔通过率下限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve53min;

    /**
     * 53mm筛孔通过率上限
     */
    @DecimalMax(value = "100", message = "53mm筛孔通过率上限不能超过{value}")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private BigDecimal sieve53max;

    /**
     * 添加人
     */
    @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.NEVER)
    private Long creator;

    /**
     * 添加时间
     */
    @TableField(fill = FieldFill.INSERT, updateStrategy = FieldStrategy.NEVER)
    private Date createDate;

    /**
     * 修改人
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Long updater;

    /**
     * 修改时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateDate;

}
